<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">











<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>NPanday - Project Types</title>
    <style type="text/css" media="all">
      @import url("../../css/maven-base.css");
      @import url("../../css/maven-theme.css");
      @import url("../../css/site.css");
    </style>
    <link rel="stylesheet" href="../../css/print.css" type="text/css" media="print" />
          </head>
  <body class="composite">
    <div id="banner">
                  <a href="" id="bannerLeft">
    
                                            <img src="../.././images/NPanday.png" alt="" />
    
            </a>
                        <a href="http://www.codeplex.com/" id="bannerRight">
    
                                            <img src="../.././images/logo-home.png" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
            
  
    
            <div class="xleft">
          
                <a href="http://npanday.codeplex.com/" class="externalLink">NPanday Home</a>
                &gt;
      
                <a href="../../">NPanday 1.2</a>
                  </div>
            <div class="xright">      
  

  
    
            
  
    
             Last Published: 22 Jun 2010
              &nbsp;| Version: 1.2
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
            
  
    
                   <h5>General Info</h5>
            <ul>
              
    <li class="none">
                    <a href="../../index.html">NPanday Overview</a>
          </li>
              
    <li class="none">
                    <a href="../../release-notes.html">NPanday Release Notes</a>
          </li>
              
    <li class="none">
                    <a href="../../faqs.html">NPanday FAQs</a>
          </li>
              
    <li class="none">
                    <a href="../../faqs.html">NPanday Features</a>
          </li>
              
    <li class="none">
                    <a href="../../npanday.pdf">Documentation PDF</a>
          </li>
          </ul>
              <h5>User's Guide</h5>
            <ul>
              
    <li class="none">
                    <a href="../.././guide/index.html">Introduction</a>
          </li>
              
    <li class="none">
                    <a href="../.././guide/installation/index.html">Installation</a>
          </li>
              
    <li class="none">
                    <a href="../.././guide/vs/index.html">Visual Studio Add-in</a>
          </li>
              
    <li class="none">
                    <a href="../.././guide/maven/index.html">Maven Command Line</a>
          </li>
              
    <li class="none">
                    <a href="../.././guide/devinfra/index.html">Maven Development Infrastructure</a>
          </li>
              
    <li class="none">
                    <a href="../../plugins/index.html">NPanday Plugins</a>
          </li>
          </ul>
              <h5>Contributing</h5>
            <ul>
              
    <li class="none">
                    <a href="../.././developers/index.html">Developer's Guide</a>
          </li>
              
    <li class="none">
                    <a href="../.././issue-tracking.html">Issue Tracking</a>
          </li>
              
    <li class="none">
                    <a href="../.././mail-lists.html">Mailing Lists</a>
          </li>
          </ul>
              <h5>Project Documentation</h5>
            <ul>
              
                
              
      
            
      
            
      
            
      
            
      
            
      
            
      
              
        <li class="collapsed">
                    <a href="../../project-info.html">Project Information</a>
                </li>
          </ul>
              <h5>Resources</h5>
            <ul>
              
    <li class="none">
                    <a href="http://maven.apache.org/" class="externalLink">Apache Maven</a>
          </li>
              
    <li class="none">
                    <a href="http://npanday.codeplex.com/" class="externalLink">NPanday on CodePlex</a>
          </li>
          </ul>
                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
            <img alt="Built by Maven" src="../../images/logos/maven-feather.png"></img>
          </a>
                       
  

  
    
            
  
    
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2>Available Project Types</h2>
<p>Currently NPanday has two plugins that register types for dotnet. The <tt>maven-compile-plugin&gt;&gt; and the &lt;&lt;&lt;custom-lifecycle-maven-plugin</tt>.</p>
<p>While the compile-plugin introduces the NPanday default lifecycle, the other one just does a default maven install and deploy, while leaving it to you to fill up the maven lifecycle with meaningful executions.</p>
<p>Both plugins can resolve dependencies with the types of the other.</p>
<div class="section"><h3>Maven Compile Plugin</h3>
<p>The following packaging types are supported by the Maven plugins. To make them available, add the Compile plugin with the following definition:</p>
<div class="source"><pre>&lt;plugin&gt;
  &lt;groupId&gt;npanday.plugin&lt;/groupId&gt;
  &lt;artifactId&gt;maven-compile-plugin&lt;/artifactId&gt;
  &lt;version&gt;1.2&lt;/version&gt;
  &lt;extensions&gt;true&lt;/extensions&gt;
&lt;/plugin&gt;</pre>
</div>
<p>The <tt>maven-compile-plugin</tt> provides the following packaging types:</p>
<ul><li><tt>dotnet-library</tt> - builds and packages the assembly (Deprecated: <tt>library</tt>)</li>
<li><tt>dotnet-executable</tt> - build and package a console application (Deprecated: <tt>exe</tt>, <tt>winexe</tt>)</li>
<li><tt>dotnet-module</tt> - builds and packages the assembly then uses the Link plugin in the package phase (Deprecated: <tt>module</tt>)</li>
<li><tt>dotnet-maven-plugin</tt> - build an assembly from the .NET code and generate a Java binding for Maven (Deprecated: <tt>netplugin</tt>)</li>
<li><tt>asp</tt> - uses the ASPX plugin to build an ASP.NET project</li>
<li><tt>dotnet-executable-config</tt> - simply installs the configuration into the local repository, as no build is required (Deprecated: <tt>exe.config</tt>)</li>
<li><tt>visual-studio-addin</tt> - build and packages the assembly in the same way as for a <tt>dotnet-library</tt></li>
<li><tt>nar</tt> - builds and packages with the Webapp plugin</li>
</ul>
<p>The following dependency types (in addition to the above) are also declared:</p>
<ul><li><tt>dotnet-module</tt> - references to a <tt>dotnet-module</tt></li>
<li><tt>dotnet-executable-config</tt> and <tt>dotnet-library-config</tt> - references to .NET configuration files</li>
<li><tt>dotnet-symbols</tt> - PDB debug information for libraries or executables</li>
<li><tt>ole-type-library</tt> - TLB-files containing type descriptors for .NET COM Interop</li>
<li><tt>dotnet-vsdocs</tt> - XML-file containing intellisense information for libraries or executables</li>
<li><b>dotnet-gac</b>, <tt>gac_32</tt> - dependencies in the respective GAC types variants (Deprecated: <tt>gac</tt>, <tt>gac_generic</tt>, <tt>gac_msil</tt>)</li>
</ul>
</div>
<div class="section"><h3>Custom Lifecycle Maven Plugin</h3>
<p>The following definition allows you to install, deploy and resolves files of the listed types.</p>
<div class="source"><pre>&lt;plugin&gt;
  &lt;groupId&gt;npanday.plugin&lt;/groupId&gt;
  &lt;artifactId&gt;custom-lifecycle-maven-plugin&lt;/artifactId&gt;
  &lt;version&gt;1.2&lt;/version&gt;
  &lt;extensions&gt;true&lt;/extensions&gt;
&lt;/plugin&gt;</pre>
</div>
<ul><li><tt>dotnet-module</tt> - a .NET module with extension <b>netmodule</b><ul><li><tt>dotnet-library</tt> - A dll-file compiled by any of the .NET compilers</li>
<li><tt>dotnet-library-config</tt> - Configuration file attachable to a library artifact</li>
</ul>
</li>
<li><tt>dotnet-executable</tt> - A exe-file compiled by any of the .NET compilers</li>
<li><tt>dotnet-executable-config</tt> - Configuration file attachable to a executable artifact</li>
<li><tt>dotnet-symbols</tt> - A pdb-file containing debug symbols for either a dll or executable</li>
<li><tt>ole-type-library</tt> - A tlb-file that contains information about types of a library that are accessible through COM</li>
<li><tt>dotnet-vsdocs</tt> - A xml-file containing the inline code documentation for a library or executable</li>
<li><tt>dotnet-archive</tt> - A zip of libraries and their complementary files as debug symbols, docs or local satellite assemblies.</li>
</ul>
<p>For <tt>dotnet-archive</tt> it is recommended to create the zip using the Maven Assembly Plugin.</p>
<p>When you resolve a <tt>dotnet-archive</tt> you might want to use <tt>depencendy:unpack-dependencies</tt> to unpack it before you compile against your dependencies.</p>
</div>
</div>

      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2010
    
          NPanday
          
  

  
    
            
  
    
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
